package com.csust.automaticteach.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.csust.automaticteach.model.dto.classes.ClassesQueryRequest;
import com.csust.automaticteach.model.dto.classes.classExercise.AddClassExerciseRequest;
import com.csust.automaticteach.model.entity.Classes;
import com.baomidou.mybatisplus.extension.service.IService;
import com.csust.automaticteach.model.vo.classes.ClassesVO;

import java.util.List;

/**
* @author 钰玟
* @description 针对表【t_classes(班级表)】的数据库操作Service
* @createDate 2025-07-20 11:19:51
*/
public interface ClassesService extends IService<Classes> {

    /**
     * 获取查询条件
     *
     * @param classesQueryRequest 查询条件
     * @return 查询条件
     */
    QueryWrapper<Classes> getClassesQueryWrapper(ClassesQueryRequest classesQueryRequest);


    /**
     * 获取班级下的所有考试
     *
     * @param Id 班级id
     * @return List<Long>
     */
    List<Long> getClassExamIds(Long Id);

    /**
     * 在班级下添加考试
     *
     * @param addClassExerciseRequest 添加的参数
     * @return 添加的id
     */
    Long addClassExam(AddClassExerciseRequest addClassExerciseRequest);

    /**
     * 获取班级vo列表
     *
     * @param records 实体类
     * @return List<ClassesVO>
     */
    List<ClassesVO> getClassesVOList(List<Classes> records);
}
